
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets" template="/template/main.xhtml">

	<ui:define name="body">
		<h:form prependId="false">

			<p:toolbar>
				<p:toolbarGroup align="left">
					<p:commandButton value="#{messages['button.save']}" action="#{boletimMedicaoEditMB.insert}"
						rendered="#{!boletimMedicaoEditMB.updateMode}" ajax="false" />
					<p:commandButton value="#{messages['button.save']}" action="#{boletimMedicaoEditMB.update}"
						rendered="#{boletimMedicaoEditMB.updateMode}" ajax="false" />
					<p:commandButton value="#{messages['button.delete']}" onclick="confirmation.show()"
						rendered="#{boletimMedicaoEditMB.updateMode}" type="button" immediate="true" ajax="false" />
					<p:confirmDialog message="#{messages['label.confirm.delete']}" showEffect="bounce" hideEffect="explode"
						header="#{messages['label.dialog.delete']}" severity="alert" widgetVar="confirmation">
						<h:commandButton value="#{messages['button.dialog.yes']}" action="#{boletimMedicaoEditMB.delete}" immediate="true"
							ajax="false" />
						<h:commandButton value="#{messages['button.dialog.no']}" onclick="confirmation.hide()" type="button" />
					</p:confirmDialog>
				</p:toolbarGroup>
			</p:toolbar>

			<br />

			<p:fieldset legend="#{messages['boletimMedicao.label']}" toggleable="true" toggleSpeed="500">
				<h:panelGrid id="fields" columns="2">

					<h:outputLabel value="#{messages['boletimMedicao.label.id']}: " for="id" styleClass="text-input" />
					<h:panelGrid columns="5">
						<h:outputText id="id" value="#{boletimMedicaoEditMB.bean.id}" />
						<p:message for="id" />

						<h:outputLabel value="#{messages['boletimMedicao.label.statusPagamento']}: " for="statusPagamento" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="statusPagamento" value="#{boletimMedicaoEditMB.bean.statusPagamento}"
							title="#{messages['boletimMedicao.alt.statusPagamento']}" />
						<p:message for="statusPagamento" />

					</h:panelGrid>
	
					<h:outputLabel value="#{messages['boletimMedicao.label.unidadeOrcamentaria']}: " for="unidadeOrcamentaria" styleClass="text-input" />
					<h:panelGrid columns="5">
						<h:selectOneMenu value="#{boletimMedicaoEditMB.unidadeOrcamentaria}" id="unidadeOrcamentaria" style="width: 350px;"
							title="#{messages['boletimMedicao.label.unidadeOrcamentaria']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Selecione" itemValue="" />	
	 						<f:selectItems value="#{boletimMedicaoEditMB.unidadeOrcamentarias}"></f:selectItems>
						</h:selectOneMenu>
					    <p:message for="unidadeOrcamentaria" />
	
						<h:outputLabel value="#{messages['boletimMedicao.label.obra']}: " for="obra" styleClass="text-input" />
						<h:selectOneMenu value="#{boletimMedicaoEditMB.obra}" id="obra" style="width: 550px;"
							title="#{messages['boletimMedicao.label.obra']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Selecione" itemValue="" />	
	 						<f:selectItems value="#{boletimMedicaoEditMB.obras}"></f:selectItems>
						</h:selectOneMenu>
					    <p:message for="obra" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['boletimMedicao.label.numeroMedicao']}: " for="numeroMedicao" styleClass="text-input" />
					<h:panelGrid columns="8">
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="numeroMedicao" value="#{boletimMedicaoEditMB.bean.numeroMedicao}"
							title="#{messages['boletimMedicao.alt.numeroMedicao']}" />
						<p:message for="numeroMedicao" />

						<h:outputLabel value="#{messages['boletimMedicao.label.dataBoleim']}: " for="dataBoleim" styleClass="text-input" />
						<p:calendar id="dataBoleim" value="#{boletimMedicaoEditMB.bean.dataBoleim}"
						   pattern="#{messages['label.date.pattern']}" navigator="true" showButtonPanel="true"
						   locale="#{currentLocale}" title="#{messages['boletimMedicao.alt.dataBoleim']}" />
					   <p:message for="dataBoleim" />

						<h:outputLabel value="#{messages['boletimMedicao.label.dataInicioMedicao']}: " for="dataInicioMedicao" styleClass="text-input" />
						<p:calendar id="dataInicioMedicao" value="#{boletimMedicaoEditMB.bean.dataInicioMedicao}"
						   pattern="#{messages['label.date.pattern']}" navigator="true" showButtonPanel="true"
						   locale="#{currentLocale}" title="#{messages['boletimMedicao.alt.dataInicioMedicao']}" />
						   <p:message for="dataInicioMedicao" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['boletimMedicao.label.empresa']}: " for="empresa" styleClass="text-input" />
					<h:panelGrid columns="11">
						<h:outputLabel value="#{messages['boletimMedicao.label.nomeEngenheiroEmpresa']}: " for="nomeEngenheiroEmpresa" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="nomeEngenheiroEmpresa" value="#{boletimMedicaoEditMB.bean.nomeEngenheiroEmpresa}"
							title="#{messages['boletimMedicao.alt.nomeEngenheiroEmpresa']}" />
						<p:message for="nomeEngenheiroEmpresa" />
						
						<h:outputLabel value="#{messages['boletimMedicao.label.creaEngenheiroEmpresa']}: " for="creaEngenheiroEmpresa" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="creaEngenheiroEmpresa" value="#{boletimMedicaoEditMB.bean.creaEngenheiroEmpresa}"
							title="#{messages['boletimMedicao.alt.creaEngenheiroEmpresa']}" />
						<p:message for="creaEngenheiroEmpresa" />

						<h:outputLabel value="#{messages['boletimMedicao.label.ufCreaEngenheiroEmpresa']}: " for="estadoEmpresa" styleClass="text-input" />
						<h:selectOneMenu value="#{boletimMedicaoEditMB.estadoEmpresa}" id="estadoEmpresa" style="width: 100px;"
							title="#{messages['boletimMedicao.label.estadoEmpresa']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Selecione" itemValue="" />	
	 						<f:selectItems value="#{boletimMedicaoEditMB.estados}"></f:selectItems>
						</h:selectOneMenu>
					    <p:message for="estadoEmpresa" />

						<h:outputLabel value="#{messages['boletimMedicao.label.cpfEngenheiroEmpresa']}: " for="cpfEngenheiroEmpresa" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="cpfEngenheiroEmpresa" value="#{boletimMedicaoEditMB.bean.cpfEngenheiroEmpresa}"
							title="#{messages['boletimMedicao.alt.cpfEngenheiroEmpresa']}" />
						<p:message for="cpfEngenheiroEmpresa" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['boletimMedicao.label.prefeitura']}: " for="prefeitura" styleClass="text-input" />
					<h:panelGrid columns="11">
						<h:outputLabel value="#{messages['boletimMedicao.label.nomeEngenheiroPrefeitura']}: " for="nomeEngenheiroPrefeitura" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="nomeEngenheiroPrefeitura" value="#{boletimMedicaoEditMB.bean.nomeEngenheiroPrefeitura}"
							title="#{messages['boletimMedicao.alt.nomeEngenheiroPrefeitura']}" />
						<p:message for="nomeEngenheiroPrefeitura" />
						
						<h:outputLabel value="#{messages['boletimMedicao.label.creaEngenheiroPrefeitura']}: " for="creaEngenheiroPrefeitura" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="creaEngenheiroPrefeitura" value="#{boletimMedicaoEditMB.bean.creaEngenheiroPrefeitura}"
							title="#{messages['boletimMedicao.alt.creaEngenheiroPrefeitura']}" />
						<p:message for="creaEngenheiroPrefeitura" />

						<h:outputLabel value="#{messages['boletimMedicao.label.ufCreaEngenheiroPrefeitura']}: " for="estadoPrefeitura" styleClass="text-input" />
						<h:selectOneMenu value="#{boletimMedicaoEditMB.estadoPrefeitura}" id="estadoPrefeitura" style="width: 100px;"
							title="#{messages['boletimMedicao.label.estadoPrefeitura']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Selecione" itemValue="" />	
	 						<f:selectItems value="#{boletimMedicaoEditMB.estados}"></f:selectItems>
						</h:selectOneMenu>
					    <p:message for="estadoPrefeitura" />

						<h:outputLabel value="#{messages['boletimMedicao.label.cpfEngenheiroPrefeitura']}: " for="cpfEngenheiroPrefeitura" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="cpfEngenheiroPrefeitura" value="#{boletimMedicaoEditMB.bean.cpfEngenheiroPrefeitura}"
							title="#{messages['boletimMedicao.alt.cpfEngenheiroPrefeitura']}" />
						<p:message for="cpfEngenheiroPrefeitura" />

					</h:panelGrid>


					<h:outputLabel value="#{messages['boletimMedicao.label.saldoAnterior']}: " for="saldoAnterior" styleClass="text-input" />
					<h:panelGrid columns="11">
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="saldoAnterior" value="#{boletimMedicaoEditMB.bean.saldoAnterior}"
							title="#{messages['boletimMedicao.alt.saldoAnterior']}" />
						<p:message for="saldoAnterior" />

						<h:outputLabel value="#{messages['boletimMedicao.label.valorMedicao']}: " for="valorMedicao" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="valorMedicao" value="#{boletimMedicaoEditMB.bean.valorMedicao}"
							title="#{messages['boletimMedicao.alt.valorMedicao']}" />
						<p:message for="valorMedicao" />
	
						<h:outputLabel value="#{messages['boletimMedicao.label.saldoAtual']}: " for="saldoAtual" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="saldoAtual" value="#{boletimMedicaoEditMB.bean.saldoAtual}"
							title="#{messages['boletimMedicao.alt.saldoAtual']}" />
						<p:message for="saldoAtual" />

						<h:outputLabel value="#{messages['boletimMedicao.label.saldoRestante']}: " for="saldoRestante" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="saldoRestante" value="#{boletimMedicaoEditMB.bean.saldoRestante}"
							title="#{messages['boletimMedicao.alt.saldoRestante']}" />
						<p:message for="saldoRestante" />
					</h:panelGrid>

					
				</h:panelGrid>
			</p:fieldset>
		</h:form>

		<p:spacer height="20" width="20"/>  

		<h:form prependId="false">
			<p:fieldset legend="#{messages['boletimMedicao.label.itens']}" toggleable="true" toggleSpeed="500">
				<h:panelGrid columns="2"  id="fields2" >


					<h:outputLabel value="#{messages['boletimMedicao.label.servico']}: " for="servico" styleClass="text-input" />
					<h:panelGrid columns="2">
						<h:selectOneMenu value="#{boletimMedicaoEditMB.servico}" id="servico" style="width: 550px;"
							title="#{messages['boletimMedicao.label.servico']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Selecione" itemValue="" />	
	 						<f:selectItems value="#{boletimMedicaoEditMB.servicos}"></f:selectItems>
						</h:selectOneMenu>
					    <p:message for="servico" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['boletimMedicao.label.quantidadePrevisto']}: " for="quantidadePrevisto" styleClass="text-input" />
					<h:panelGrid columns="8">
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="quantidadePrevisto" value="#{boletimMedicaoEditMB.quantidadePrevisto}"
							title="#{messages['boletimMedicao.alt.quantidadePrevisto']}" />
						<p:message for="quantidadePrevisto" />

						<h:outputLabel value="#{messages['boletimMedicao.label.quantidadeMedido']}: " for="quantidadeMedido" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="quantidadeMedido" value="#{boletimMedicaoEditMB.quantidadeMedido}"
							title="#{messages['boletimMedicao.alt.quantidadeMedido']}" />
						<p:message for="quantidadeMedido" />

						<h:outputLabel value="#{messages['boletimMedicao.label.quantidadeAcumulado']}: " for="quantidadeAcumulado" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="quantidadeAcumulado" value="#{boletimMedicaoEditMB.quantidadeAcumulado}"
							title="#{messages['boletimMedicao.alt.quantidadeAcumulado']}" />
						<p:message for="quantidadeAcumulado" />
					</h:panelGrid>
					
					<h:outputLabel value="#{messages['boletimMedicao.label.valorPrevisto']}: " for="valorPrevisto" styleClass="text-input" />
					<h:panelGrid columns="11">
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="valorPrevisto" value="#{boletimMedicaoEditMB.valorPrevisto}"
							title="#{messages['boletimMedicao.alt.valorPrevisto']}" />
						<p:message for="valorPrevisto" />

						<h:outputLabel value="#{messages['boletimMedicao.label.valorMedido']}: " for="valorMedido" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="valorMedido" value="#{boletimMedicaoEditMB.valorMedido}"
							title="#{messages['boletimMedicao.alt.valorMedido']}" />
						<p:message for="valorMedido" />

						<h:outputLabel value="#{messages['boletimMedicao.label.valorAcumulado']}: " for="valorAcumulado" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="valorAcumulado" value="#{boletimMedicaoEditMB.valorAcumulado}"
							title="#{messages['boletimMedicao.alt.valorAcumulado']}" />
						<p:message for="valorAcumulado" />

						<h:outputLabel value="#{messages['boletimMedicao.label.percentualPeriodo']}: " for="percentualPeriodo" styleClass="text-input" />
						<h:inputText required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" id="percentualPeriodo" value="#{boletimMedicaoEditMB.percentualPeriodo}"
							title="#{messages['boletimMedicao.alt.percentualPeriodo']}" />
						<p:message for="percentualPeriodo" />
					</h:panelGrid>

					<f:facet name="footer">
				    	<h:panelGroup>
				    		<br/>
							<h:commandButton value="#{messages['button.add']}"  action="#{boletimMedicaoEditMB.adicionarItem()}" ajax="true" >
				    			<f:ajax execute="fields2" render="fields2" />
				    	   	</h:commandButton>
				    		<br/>
							<p:message for="listItem"/>
							<p:dataTable id="listItem" var="bean" value="#{boletimMedicaoEditMB.bean.listaItensFichaObra}" rowIndexVar="rowIndex" >
								<f:facet name="header">#{messages['boletimMedicao.itens.list.table.title']}</f:facet>
			
								<p:column style="width:5%;font-size:12" sortBy="#{rowIndex}"   >
									<f:facet name="header">#{messages['button.remove']}</f:facet>
									<h:commandButton value="#{messages['button.remove']}" action="#{boletimMedicaoEditMB.removerItem()}" ajax="true" >
						    			<f:ajax execute="list" render="list" immediate="true"/>	
										<f:setPropertyActionListener target="#{boletimMedicaoEditMB.posicaoItem}" value="#{rowIndex}" />
									</h:commandButton>
								</p:column>
			
								<p:column sortBy="#{bean.itemTabelaPrecoObra.agrupamentoItem.descricao}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.agrupamentoItem']}</f:facet>
										<h:outputText value="#{bean.itemTabelaPrecoObra.agrupamentoItem.descricao}" />
								</p:column>

								<p:column sortBy="#{bean.itemTabelaPrecoObra.localItem.descricao}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.localItem']}</f:facet>
										<h:outputText value="#{bean.itemTabelaPrecoObra.localItem.descricao}" />
								</p:column>

								<p:column sortBy="#{bean.itemTabelaPrecoObra.itemTabelaPreco.descricao}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.itemTabelaPrecoObra']}</f:facet>
										<h:outputText value="#{bean.itemTabelaPrecoObra.itemTabelaPreco.descricao}" />
								</p:column>

								<p:column sortBy="#{bean.quantidadePrevisto}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.quantidadePrevisto']}</f:facet>
										<h:outputText value="#{bean.quantidadePrevisto}" />
								</p:column>

								<p:column sortBy="#{bean.quantidadeMedido}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.quantidadeMedido']}</f:facet>
										<h:outputText value="#{bean.quantidadeMedido}" />
								</p:column>

								<p:column sortBy="#{bean.quantidadeAcumulado}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.quantidadeAcumulado']}</f:facet>
										<h:outputText value="#{bean.quantidadeAcumulado}" />
								</p:column>


								<p:column sortBy="#{bean.valorPrevisto}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.valorPrevisto']}</f:facet>
										<h:outputText value="#{bean.valorPrevisto}" />
								</p:column>

								<p:column sortBy="#{bean.valorMedido}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.valorMedido']}</f:facet>
										<h:outputText value="#{bean.valorMedido}" />
								</p:column>

								<p:column sortBy="#{bean.valorAcumulado}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.valorAcumulado']}</f:facet>
										<h:outputText value="#{bean.valorAcumulado}" />
								</p:column>


								<p:column sortBy="#{bean.percentualPeriodo}"   style="font-size:12">
									<f:facet name="header">#{messages['boletimMedicao.label.percentualPeriodo']}</f:facet>
										<h:outputText value="#{bean.percentualPeriodo}" />
								</p:column>
							</p:dataTable>
				    	</h:panelGroup>
				    </f:facet>	
				</h:panelGrid>
			</p:fieldset>
		</h:form>
	</ui:define>
</ui:composition>